/*************************************************
 *  Page content
 **************************************************/

.article-container {
  max-width: 760px;
  padding: 0 20px 0 20px;
  margin: 0 auto 0 auto;
}

.page-subtitle {
  font-size: 1.15rem;
  color: rgba(0,0,0,.54);
  margin-bottom: 1rem;
}

.dark .page-subtitle {
  color: rgba(255,255,255,0.54);
}

.article-header {
  position: relative; /* Required for caption positioning */
  clear: both;
}

.article-banner {
  width: 100%;
  height: auto;
}

.featured-image-wrapper {
  position: relative;
  padding-left: 0; /* Override container padding. */
  padding-right: 0; /* Override container padding. */
}

.featured-image {
  position: relative;
  width: 100%;
  display: block;
  margin: 0 auto;
}

.article-header-caption {
  position: absolute;
  bottom: 0;
  right: 0;
  margin: 0 auto;
  padding: 2px 5px;
  color: #fff;
  font-size: .7em;
  background: #000;
  text-align: right;
  z-index: 5;
  opacity: 0.65;
  border-radius: 5px 0 0 0;
}
@media (min-width: 64em) {
  .article-header-caption {
    padding: 5px 10px;
  }
}

.article-header-caption a {
  color: #fff;
  text-decoration: none;
}

.article-title {
  font-size: 1.75rem;
}

.article-title a {
  color: #151515;
  transition: color 0.6s ease;
}

.dark .text-muted {
  color: rgba(255,255,255,0.54) !important;
}

.article-metadata {
  margin-bottom: 15px;
  overflow: hidden;
  font-size: 14px;
  letter-spacing: 0.03em;
  color: rgba(0,0,0,0.54);
}

.dark .article-metadata {
  color: rgba(255,255,255,0.54);
}

.stream-meta.article-metadata {
  margin-bottom: 5px;
}

/* For article page only, not lists. */
article .article-metadata {
  margin-bottom: 20px;
}

.article-metadata a {
  color: rgba(0,0,0,.54);
}

.dark .article-metadata a {
  color: rgba(255,255,255,0.54);
}

.article-metadata a:hover {
  color: $sta-primary;
}

.article-metadata .author-notes {
  cursor: help;
  padding-left: 3px;
}

.article-metadata .author-highlighted {
  font-weight: bold;
}

.article-categories {
  white-space: nowrap; /* Keep category icon on same line as category links, otherwise context lost. */
}

.middot-divider {
  padding-right: .45em;
  padding-left: .45em;
  font-size: 15px;
}

.middot-divider::after {
  content: '\00B7';
}

@mixin word-wrap() {
  // Break very long words such as pasted URL strings.
  overflow-wrap: break-word;
  word-wrap: break-word;
  //-ms-word-break: break-all;
  //word-break: break-all;
  word-break: break-word;

  // Add a hyphen where the word breaks, if supported (No Blink).
  //-ms-hyphens: auto;
  //-moz-hyphens: auto;
  //-webkit-hyphens: auto;
  //hyphens: auto;
}

.article-style {
  // Any unresponsive embeds, e.g. Plotly, should be wrapped to handle on a case-by-case basis.
  // If any unresponsive embeds still remain in the article, prevent article overflow and DIV scrolling.
  // Note that lazy-loaded images, e.g. Gallery, may cause scrollable Y-overflow if only X-overflow is hidden pre-load.
  overflow: hidden;

  // Word wrap text content.
  @include word-wrap();
}

// Underline links if they are a similar color to the body text.
.article-style a {
  text-decoration: $sta-link-decoration;
}

.article-style img,
.article-style video {
  margin-left: auto;
  margin-right: auto;
  margin-top: 2rem;
  margin-bottom: 2rem;
  padding: 0;
}

.article-style td img,
.article-style td video {
  margin-top: 0;
  margin-bottom: 0;
}

.article-style figure {
  margin-top: 2rem;
  margin-bottom: 2rem;
}

.article-style figure img {
  margin-top: 0;
  margin-bottom: 0;
}

/*************************************************
 *  Publications
 **************************************************/

.pub-banner {
  max-width: 100%;
  height: auto;
  margin-left: auto;
  margin-right: auto;
}

.pub-row-heading {
  font-weight: bold;
}

#container-publications {
  display: block;
  position: relative;
  overflow: hidden;
}

.li-cite-author {
  font-size: 1em;
  color: inherit;
}

.li-cite-author a {
  color: inherit;
}

.dark .li-cite-author a {
  color: rgb(248, 248, 242);
}

/*************************************************
 *  Content widgets
 **************************************************/

.content-widget-hr {
  margin-top: 1.2rem;
  padding-top: 1.2rem;
  border-top: 1px solid rgba(0,0,0,.05);
}

.dark .content-widget-hr {
  border-top: 1px solid rgba(255,255,255,.05);
}

/*************************************************
 *  Tags
 **************************************************/

.article-tags {
  margin-top: 1.2rem;
}

/*************************************************
 *  Sharing
 **************************************************/

.share-box {
  margin-top: 0.7rem;
}

ul.share {
  display: flex;
  align-items: center;
  justify-content: center;
  flex-direction: row;
  flex-wrap: wrap;
  list-style: none;
  margin: 0;
  padding: 0;
}

ul.share li {
  display: inline-flex;
  margin-right: 8px;
}

ul.share li:last-of-type {
  margin-right: 0;
}

ul.share li i {
  display: block;
  width: 30px;
  height: 30px;
  line-height: 30px;
  font-size: 22px;
  text-align: center;
  transition: all 150ms ease-in-out;
}

ul.share li a {
  text-decoration: none !important;
  color: rgba(0, 0, 0, 0.84);
}

.dark ul.share li a {
  color: rgba(255, 255, 255, 0.84);
}

ul.share li:hover i {
  transform: scale(1.2)
}

/*************************************************
 *  Author profile card
 **************************************************/

.author-card .avatar {
  width: 60px;
  height: 60px;
}

.author-card .card-title {
  margin-top: 0;
  margin-bottom: 15px;
  font-weight: 600;
  color: rgba(0, 0, 0, 0.84);
}

.author-card .card-title a {
  color: rgba(0, 0, 0, 0.84);
}

.dark .author-card .card-title,
.dark .author-card .card-title a {
  color: rgba(255, 255, 255, 0.84);
}

.author-card p {
  margin-bottom: 5px;
}

.author-card .card-subtitle {
  font-weight: 300;
  font-size: 0.8rem;
  color: rgba(0, 0, 0, 0.54);
  margin-bottom: 7px;
}

.dark .author-card .card-subtitle {
  color: rgba(255, 255, 255, 0.54);
}

.author-card .card-text {
  color: rgba(0, 0, 0, 0.76);
  font-size: 0.8rem;
  margin-bottom: 4px;
}

.dark .author-card .card-text {
  color: rgba(255, 255, 255, 0.76);
}

/*************************************************
 *  Comments
 **************************************************/

#comments {
  padding-top: 1rem;
}

/*************************************************
 *  Related content
 **************************************************/

.article-widget {
  padding-top: 1.2rem;  /* Match .content-widget-hr */
}

.article-widget h3 {
  margin-top: 0;
}
